When loading SVGs from ICON_THEME_DIR_UNTHEMED GtkIconInfos,
such as those created for a GLoadableIcon, the size of the pixbuf to
load is set as a product of icon_info->scale.
But a few lines above, icon_info->scale is set to -1 for
ICON_THEME_DIR_UNTHEMED GtkIconInfos, so we'll end up always passing a
negative size to the GdkPixbuf loader, which is interpreted as the
nominal size of the image file.
Instead load the SVG at the desired scaled size in that case.
This fixes blurry icon in the notification panel in gnome-shell.
https://bugzilla.gnome.org/show_bug.cgi?id=744991
{
gint size;
- if (icon_info->forced_size)
+ if (icon_info->forced_size || icon_info->dir_type == ICON_THEME_DIR_UNTHEMED)
size = scaled_desired_size;
else
size = icon_info->dir_size * dir_scale * icon_info->scale;
{
gint size;
- if (icon_info->forced_size)
+ if (icon_info->forced_size || icon_info->dir_type == ICON_THEME_DIR_UNTHEMED)
size = scaled_desired_size;
else
size = icon_info->dir_size * dir_scale * icon_info->scale;